/** * * Copyright (c) 2013, YongLe. All rights reserved. * Created on Jan 10, 2013 3:49:14 PM * * * * @author "JakeLiu" * @version V1.0.0 * * * * Modification History: * Date Author Version Description * --------------------------------------------------------------------- * Jan 10, 2013 "JakeLiu" 1.0.0 */ package com.ylpw.utils; import java.util.Date; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.NumberUtils; /** * * 积分计算工具类 * * @author "JakeLiu" * @version Jan 10, 2013 3:49:14 PM * @see BonusUtils * @since 1.0.0 */ public class BonusUtils { /** * 积分默认倍数 */ private static final double DEFAULT_BONUS_SCALE = 1d; /** * 积分配置是否可用 * @author JakeLiu * @date Mar 12, 2013 2:01:10 PM * @return */ public static boolean isEnableConfigBonus() { String bonusScaleValue = Constants.propertiesUtilsCore.jsp_getValue("bonusScale"); String bonusBeginDate = Constants.propertiesUtilsCore.jsp_getValue("bonusBeginDate"); String bonusFinishDate = Constants.propertiesUtilsCore.jsp_getValue("bonusFinishDate"); if (StringUtils.isBlank(bonusScaleValue) || !NumberUtils.isNumber(bonusScaleValue.trim())) { return false; } Date rightNow = new Date(); Date beginDate = null; Date finishDate = null; if (StringUtils.isNotBlank(bonusBeginDate)) { beginDate = DateUtils.parseDate(bonusBeginDate, DateUtils.YEAR_MONTH_DATE_HOUR_MINUTE); } if (StringUtils.isNotBlank(bonusFinishDate)) { finishDate = DateUtils.parseDate(bonusFinishDate, DateUtils.YEAR_MONTH_DATE_HOUR_MINUTE); } if (beginDate != null && beginDate.after(rightNow)) { return false; } else if (finishDate != null && finishDate.before(rightNow)) { return false; } return true; } /** * 取积分倍数,使用此方法前先调用isEnableConfigBonus进行较验 * @author JakeLiu * @date Mar 12, 2013 3:13:30 PM * @param isChecked * @return */ public static Double findScale() { return Double.parseDouble(Constants.propertiesUtilsCore.jsp_getValue("bonusScale")); } /** * 根据金额计算积分 * @author "JakeLiu" * Jan 10, 2013 5:34:25 PM * @param total * @return */ public static Bonus calculateBonusByOrderTotal(Double total) { double bonusScale = DEFAULT_BONUS_SCALE; if (isEnableConfigBonus()) { bonusScale = Double.parseDouble(Constants.propertiesUtilsCore.jsp_getValue("bonusScale")); } // 构建积分详情 Bonus bonus = new Bonus(); bonus.setScale(bonusScale); bonus.setValue(ArithUtils.mul(total, bonusScale)); return bonus; } /** * * 积分明细、可扩展如积分类型、积分名称等 * * @author "JakeLiu" * @version Jan 10, 2013 5:33:12 PM * @see Bonus * @since 1.0.0 */ static class Bonus { private Double scale; // 倍数 private Double value; // 积分值 public Double getScale() { return scale; } public void setScale(Double scale) { this.scale = scale; } public Double getValue() { return value; } public void setValue(Double value) { this.value = value; } } }
最近下载更多
一个好人520 LV10
2021年9月29日
叽哩咕噜 LV2
2020年12月24日
wangdongtai LV31
2020年11月6日
xcj456 LV8
2020年9月12日
moomin709 LV24
2020年7月6日
Gyq灬ming LV11
2020年6月4日
xuyongff LV24
2019年11月19日
托马斯奎 LV6
2019年8月5日
qq1453363097 LV13
2019年3月26日
高利杰 LV5
2018年12月19日
最近浏览更多
清清河边草
2023年10月11日
暂无贡献等级
漫步的海星 LV4
2023年3月14日
菜鸟666 LV2
2022年8月10日
17782780328 LV1
2022年7月21日
ewan007 LV29
2022年7月8日
a3870764722a LV22
2022年6月7日
喃喵xxxx LV6
2022年4月20日
crosa_Don LV18
2022年4月1日
nbzhou2013 LV14
2022年3月18日
happyYang
2022年1月7日
暂无贡献等级